19 #include <propeller.h> 22 static char _writeLock = 0;
24 void il3820_spiWrite(
int mask_cs,
int mask_sdi,
int mask_clk,
int mask_dc,
char c,
char dc) {
27 unsigned int mask = (-(dc) ^ OUTA) & mask_dc;
34 for (
int i = 7; i >= 0 ; i--) {
35 if ((c >> i) & 1) OUTA |= mask_sdi;
36 else OUTA &= (~mask_sdi);
44 __attribute__((fcache))
45 void il3820_spiWriteBytes(
int mask_cs,
int mask_sdi,
int mask_clk,
const unsigned char* data,
int numBytes) {
50 for (
int j = 0; j < numBytes; j++) {
51 for (
int i = 7; i >= 0; i--) {
52 if ((data[j] >> i) & 1) OUTA |= mask_sdi;
53 else OUTA &= (~mask_sdi);
62 char il3820_writeLock() {
66 void il3820_writeLockSet(
char devId) {
71 void il3820_writeLockClear(
char devId) {
72 if (_writeLock == devId) {